''' design patterns '''